#ifndef __INCosa_wdh
#define __INCosa_wdh

#include <osa_common.h>
#include <pthread.h>
#include <semaphore.h>
#include <time.h>

#ifdef ESE_OS_LINUX
typedef timer_t* WDOG_ID;
#endif
#ifdef ESE_OS_WIN
#include <windows.h>
typedef HANDLE WDOG_ID;
#endif

#ifdef __cplusplus
extern "C" {
#endif

ESE_API WDOG_ID wdCreate(void);
ESE_API STATUS wdDelete(WDOG_ID wdId);
ESE_API STATUS wdStart(WDOG_ID wdId, int delay, FUNCPTR pRoutine, int parameter);
ESE_API STATUS wdCancel(WDOG_ID wdId);

#ifdef __cplusplus
}
#endif

#endif
